package model.caso;

import model.Partida;
import model.ladron.EstrategiaDeEscape;
import model.ladron.Ladron;
import model.ladron.ObjetoRobado;
import model.parser.objetos.IParseadorObjetos;

public abstract class AsignadorDeCasos {
	
	protected IParseadorObjetos parserDeObjetos;
	
	protected Ladron ladronDelCaso = obtenerLadron();
	protected ObjetoRobado objetoRobadoDelCaso;
	protected EstrategiaDeEscape estrategiaDeEscapeDelLadron;
	
	
public Caso asignarCaso() {
		objetoRobadoDelCaso = obtenerObjetoRobado();
		Caso caso= new Caso(ladronDelCaso);
		ladronDelCaso.robarObjeto(objetoRobadoDelCaso);
		return caso;
}

	private ObjetoRobado obtenerObjetoRobado() {
		return parserDeObjetos.obtenerObjetoRandom();
	}
	
	private Ladron obtenerLadron() {
		return Partida.getParser().obtenerLadronRandom();
	}

}
